home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / ohlcpio.zip / CHANGELO.G < prev    next >
Text File  |  1990-07-07  |  11KB  |  276 lines

  1. Sat Jul  7 14:48:35 1990  David J. MacKenzie  (dave at edfmd)
  2.  
  3.     * Version 1.1.
  4.  
  5.     * cpio.h: Make `mtime' and `filesize' unsigned long.
  6.     * copyin.c (read_in_binary), copyout.c (write_out_header):
  7.     High short-word of `mtime' and `filesize' always comes first.
  8.  
  9.     * (read_in_ascii, read_in_binary): New functions, from code in
  10.     read_in_header. 
  11.     (read_in_header): Search for valid magic number, then fill in
  12.     rest of header using read_in_ascii and read_in_binary.
  13.     * global.c, extern.h: New variable, `binary_flag'.
  14.     * main.c (process_args): Recognize new -b +binary option.
  15.     * util.c [BCOPY_MISSING] (bcopy): New function.
  16.  
  17. Wed Jul  4 00:40:58 1990  David J. MacKenzie  (djm at apple-gunkies)
  18.  
  19.     * main.c (process_args): Add local pointers to functions to
  20.     work around a pcc bug found on a Convex.
  21.  
  22.     * copyin.c (process_copy_in), util.c (toss_input,
  23.     create_all_directories, add_inode): Don't use `index' as a
  24.     variable name. 
  25.  
  26. Tue Jul  3 02:33:36 1990  David J. MacKenzie  (djm at apple-gunkies)
  27.  
  28.     * version 1.0.
  29.  
  30. Mon Jul  2 23:18:56 1990  David J. MacKenzie  (djm at twiddle)
  31.  
  32.     * copyin.c (process_copy_in), copyout.c (process_copy_out),
  33.     copypass.c (process_copy_pass): Print "1 block", not "1 blocks".
  34.  
  35.     * copyin.c (process_copy_in), copypass.c (process_copy_pass):
  36.     Unlink existing dest. file unless either it is newer and
  37.     not unconditional, or it is a directory.
  38.  
  39. Mon Jul  2 03:57:41 1990  David J. MacKenzie  (dave at edfmd)
  40.  
  41.     * util.c (xrealloc): New function.
  42.     * dstring.c (ds_resize): Use xrealloc instead of free and
  43.     xmalloc.  Never shrink the string.
  44.  
  45.     * copypass.c (process_copy_pass): More efficient
  46.     string handling while constructing output filename.
  47.  
  48.     * global.c, extern.h, main.c, cpio.h: Change from an enum,
  49.     `copy_command', to a pointer to a void function, `copy_function'.
  50.  
  51.     * cpio.h (struct cpio_header): Make most fields unsigned.
  52.     Rename h_filesize to h_filesizes and h_mtime to h_mtimes, and
  53.     add new `long' fields with the old names at the end of the
  54.     structure.
  55.     * copyin.c (read_in_header): Set the long fields from the
  56.     short arrays, making sure longs are aligned properly.
  57.     (process_copy_in, long_format): Use the long fields.
  58.     * copyout.c (write_out_header): Set the short arrays from the
  59.     long fields, making sure longs are aligned properly.
  60.     (process_copy_out): Use the long fields.
  61.  
  62.     * global.c, extern.h: New variable `output_is_seekable'.
  63.     * util.c (empty_output_buffer): If output_is_seekable, use
  64.     lseek to write blocks of zeros.
  65.     (finish_output_file): New function.
  66.     * copyin.c (process_copy_in), copyout.c (process_copy_out),
  67.     copypass.c (process_copy_pass): Set `output_is_seekable'
  68.     correctly and call finish_output_file.
  69.     * main.c (initialize_buffers): Allocate space for sentinel in
  70.     `output_buffer'. 
  71.  
  72.     * global.c, extern.h: New variable `numeric_uid'.
  73.     * main.c (process_args): Accept -n +numeric-uid-gid option, like ls.
  74.     * copyin.c (long_format): Use numeric_uid.
  75.  
  76.     * copyin.c (process_copy_in), copyout.c (process_copy_out),
  77.     copypass.c (process_copy_pass): Don't (for verbose) print the
  78.     names of files that are not copied because of errors.  Try to
  79.     create missing directories for all file types.  Free temporary
  80.     buffers on error.
  81.  
  82. Sat Jun 30 14:28:45 1990  David J. MacKenzie  (djm at apple-gunkies)
  83.  
  84.     * version.c: New file.
  85.     * main.c: Add -V, +version option.
  86.     * Makefile [dist]: Extract version number from version.c.
  87.  
  88. Sat Jun 30 12:44:47 1990  David J. MacKenzie  (dave at edfmd)
  89.  
  90.     * global.c, extern.h, copyin.c, copyout.c, util.c: Rename
  91.     `{input,output}_is_regular' to `{input,output}_is_special' and
  92.     reverse the truth value. 
  93.  
  94.     * global.c, extern.h: New variable `input_is_seekable' to
  95.     control whether to skip data with lseek or read. 
  96.     * copyin.c (process_copy_in): Set it.
  97.     * util.c (toss_input): Use it.
  98.  
  99.     * global.c, extern.h: New variable `xstat' that selects stat
  100.     or lstat for input files.
  101.     * main.c (process_args): New option -L, +dereference to set
  102.     xstat to stat instead of lstat.
  103.     (usage): Document it.
  104.     * copyout.c (process_copy_out), copypass.c
  105.     (process_copy_pass): Use *xstat on input file.
  106.  
  107. Sat Jun 30 01:53:12 1990  David J. MacKenzie  (dave at edfmd)
  108.  
  109.     * dstring.c (ds_init): Return void because return value was
  110.     never used. 
  111.     (ds_resize): Ditto, and free old value instead of new one.
  112.  
  113.     * util.c (empty_output_buffer, fill_input_buffer,
  114.     copy_out_buf, copy_in_buf, toss_input, copy_files): Return
  115.     void instead of an error value and make errors fatal
  116.     immediately instead of several levels up, to prevent printing
  117.     of multiple error messages by different levels of functions.
  118.  
  119.     * copyin.c (read_in_header): Return void, because the error
  120.     handling all happens at lower levels.
  121.     (print_name_with_quoting): New function.
  122.     (long_format): Call print_name_with_quoting.  Take additional
  123.     arg for name of linked-to file, and print it if nonzero.
  124.     (process_copy_in): For verbose listing of symlinks, read in
  125.     the linkname and pass it to long_format.
  126.  
  127.     * extern.h: Declare some more functions.
  128.  
  129. Thu Jun 28 16:07:15 1990  David J. MacKenzie  (dave at edfmd)
  130.  
  131.     * copypass.c (process_copy_pass): Warn about unknown file types.
  132.  
  133.     * copyout.c (process_copy_out): Check fstat return for error.
  134.     Record filesize of 0 for special files.  Warn about unknown
  135.     file types.
  136.  
  137.     * copyin.c (process_copy_in): Warn about unknown file types.
  138.     (read_in_header): Warn about byte-reversed binary headers.
  139.  
  140. Sat Jun 23 22:50:45 1990  David J. MacKenzie  (dave at edfmd)
  141.  
  142.     * main.c (main): Set umask to 0 so permissions of created
  143.     files are preserved. 
  144.  
  145.     * copyin.c, copyout.c, copypass.c, util.c: Pass file
  146.     descriptors as ints, not pointers to ints. 
  147.     Cast file timestamps and sizes to long *, not int *, for 16
  148.     bit machines.
  149.     Use lstat instead of stat, if available.
  150.     Handle FIFO's, sockets, and symlinks, if supported by O.S.
  151.  
  152.     * copyin.c (process_copy_in), copyout.c (process_copy_out):
  153.     Don't consider FIFO'S, sockets, etc. to be possible tape drives.
  154.  
  155.     * util.c (create_all_directories): Fix incorrect loop
  156.     termination check.  Only copy string if it contains slashes.
  157.     Don't check whether directory "" exists.
  158.     (tape_offline): Code moved from get_next_reel.
  159.     (get_next_reel): Print message before taking tape offline.
  160.     Read a line of arbitrary length.
  161.  
  162.     * copyout.c, copyin.c, copypass.c: Always use utime, not utimes.
  163.  
  164.     * copyin.c (swab_short): New macro.
  165.     (swab_array): New function.
  166.     (read_in_header): In binary mode, if a byte-swapped header is
  167.     read, swap the bytes back.
  168.     (process_copy_in, process_copy_pass): Don't stat each file to
  169.     create unless !unconditional_flag.  Create device files correctly.
  170.     Don't temporarily allow files being created to be read by
  171.     other users.  Don't unnecessarily chmod special files.
  172.  
  173. Thu May 31 20:51:43 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  174.  
  175.     * copyin.c (long_format): Use mode_string to format
  176.     file protections instead of doing it ourselves.
  177.     (protections): Function removed.
  178.  
  179. Sat Apr 14 02:31:01 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  180.  
  181.     * cpio.h (struct cpio_header): Make inode, mode, uid, gid
  182.     fields unsigned. 
  183.  
  184.     * util.c (getgroup): New function.
  185.     * copyin.c (long_format): Print group name of files.
  186.     Print file size, etc. as unsigned integers, not signed.
  187.  
  188.     * main.c (process_args): If -t is given and neither -i, -o, or
  189.     -p is given, assume -i.
  190.  
  191.     * Add -f, +nonmatching option.
  192.     * main.c: Rename +out to +create, +in to +extract,
  193.     +modification-time to +preserve-modification-time,
  194.     +pass to +pass-through.
  195.  
  196.     * copyin.c (process_copy_in), copypass.c (process_copy_pass):
  197.     Don't complain in chown fails because the user doesn't have
  198.     permission. 
  199.  
  200. Fri Apr 13 13:53:20 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  201.  
  202.     * Add ifdefs for USG/Xenix.
  203.     * util.c (cpio_error): Function removed.
  204.     * Use error instead of cpio_error, so system error messages
  205.     will be included.
  206.     * cpio.h: Rename 'hdr_struct' to 'struct cpio_header'.
  207.     * Move definition of xmalloc from dstring.c to util.c.
  208.     * global.c, extern.c: Add global `program_name'.
  209.     * main.c (main): Set program_name.
  210.     (process_args): Rename +reset-atime to +reset-access-time,
  211.     +table to +list.
  212.     Have +block-size take an argument.
  213.  
  214. Thu Apr 12 13:33:32 1990  David J. MacKenzie  (djm at rice-chex)
  215.  
  216.     * util.c (find_inode_file): Make inode an int, not a short.
  217.  
  218.     * Make functions that don't return a value have type void.
  219.     Add some casts to function calls.
  220.  
  221. Wed Apr 11 14:55:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  222.  
  223.     * main.c (process_args): -i, -o, and -p don't take arguments.
  224.  
  225.     * main.c (process_args): Get the non-option args from the
  226.     correct elements of argv.
  227.  
  228. Tue Apr 10 00:20:26 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
  229.  
  230.     * Indent source code and update copyrights.
  231.  
  232.     * cpio.c (usage): Change `collection' to `archive' in message.
  233.  
  234. Thu Dec 28 03:03:55 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  235.  
  236.     * dstring.c (xmalloc): Don't return a null pointer if size is 0,
  237.     on the assumption that trying to allocate 0 bytes is a bug that
  238.     should be trapped.
  239.  
  240. Wed Dec 20 03:24:48 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  241.  
  242.     * All files: Change from GNU CPIO General Public License to
  243.     GNU General Public License.
  244.  
  245. Mon Dec 18 13:18:36 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  246.  
  247.     * Makefile: Add clean target and defines for CC and LDFLAGS.
  248.     Add dist target and SRCS, DISTFILES macros.  Add tags and TAGS targets.
  249.     * dstring.c (ds_fgets): Read characters into an int, not char.
  250.     (xmalloc): New function.
  251.     (out_of_memory): Function removed.
  252.     Global: use xmalloc instead of malloc and out_of_memory.
  253.     * extern.h, global.c: Make flag variables ints instead of chars for
  254.     compatibility with getopt_long.
  255.     * extern.h: Declare more functions.
  256.     * main.c (usage): Put the whole usage message into a single string
  257.     and fix errors.
  258.     * util.c (create_all_directories): Remove unused variable.
  259.     (get_next_reel): Ditto.
  260.     * dstring.h: Declare function.
  261.  
  262. Sat Dec  2 13:22:37 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)
  263.  
  264.     * main.c: Change +copy-pass option to +pass, +copy-in to +in,
  265.     +copy-out to +out, and +mkdir to +make-directories, and add null
  266.     option to terminate table.
  267.     (process_args): Use the same code to handle long and short named 
  268.     options.
  269.     (usage): Mention long options in message.
  270.  
  271. Local Variables:
  272. mode: indented-text
  273. left-margin: 8
  274. version-control: never
  275. End:
  276.